Some methods are well known for stably controlling an object. In those methods, a relationship between an input and an output is first obtained by learning and an output is then provided to the object to be controlled (hereinafter referred to as “controlled object”) based on the learning result. Some functions which properly represent the input/output relationship are created and used for the control. For creating the functions, layered neutral network such as perceptron, RBF network and CMAC (cerebellar model arithmetic computer) are used, for example.
In perceptron, three layers including an input layer, a middle layer and an output layer are generally provided. Then, learning is conducted as follows: first, an output obtained by entering an input to perceptron is compared with an actual output (that is, a teacher signal); then, the error between those outputs is reflected to coupling load and threshold values of the perceptron. One example of a control apparatus using such neural network is disclosed in Japanese unexamined patent publication (Kokai) No.09-245012.
In RBF network, a nonlinear function for representing the input/output relationship is calculated as an output from the network by linearly connecting outputs of basis functions on a middle layer, A Gaussian function is generally used as the basis function on the middle layer.
In the perceptron, it is necessary to prepare a large amount of data set of inputs and outputs for realizing reliable control. In addition, since sigmoid functions are used as the input/output function on a middle layer in multilayer perceptron, output from the middle layer will take a large output value in response to a large input value. Thus, when an input within the range where the learning has not been conducted is provided, an inappropriate output may be generated which is totally different from a desired one. Such inappropriate outputs may lead to a serious accident (for example, roll or crash) for a controlled object such as a helicopter.
On the other hand, since the input/output functions on the middle layer are Gaussian functions in the RBF network, the input/output functions will take large output value only for local range in a input space and will take no unexpected output in contrast to the perceptron. However, since the input/output relationship is represented by a linear combination of multiple Gaussian functions in the RBF network, it is necessary to learn the ratio for all Gaussian functions (classes) and to output calculation results of all classes for a certain input. Consequently, the calculation load becomes relatively large.
Therefore, there is a need for a highly reliable control apparatus and method for reducing the amount of calculation required for both learning of an input/output relationship and for actual control as well as preventing inappropriate outputs from being generated for inputs which have been never learned.